/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package analisadorlexico;

/**
 *
 * Tipos de tokens reconhecidos pela linguagem
 * 
 * @author Anderson Vinicius
 */
public enum TokenType {
        PALAVRA_RESERVADA,
        IDENTIFICADOR,
        NUMERO_INTEIRO,
        NUMERO_REAL,
        DELIMITADOR,
        ATRIBUICAO,
        OPERADOR_RELACIONAL,
        OPERADOR_ADITIVO,
        OPERADOR_MULTIPLICATIVO;

        private static String[] palavrasReservadas = {
            "program",
            "var",
            "integer",
            "real",
            "boolean",
            "procedure",
            "begin",
            "end",
            "if",
            "then",
            "else",
            "while",
            "do",
            "not",
            "true",
            "false",
            "and",
            "or"
        };

        public static boolean isPalavraReservada(String token) {
            for(String palavra : palavrasReservadas) {
                if(token.equalsIgnoreCase(palavra)) {
                    return true;
                }
            }
            return false;
        }
}
